package com.rgc.dao;

import java.util.ArrayList;
import java.util.List;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport;

import com.rgc.domain.Evento;
import com.rgc.domain.EventoJuego;

public class EventoJuegoDaoImpl  extends JdbcDaoSupport implements  EventoJuegoDao {

	
	
	
	
public List<EventoJuego> listEventoJuego(String[] campo, String[] valor) {
		
		try {
			String sql = " SELECT * FROM evento_juego  ";
			String conector=" where ";
			for (int i=0;i<campo.length;i++)  {
				 sql+=conector+""+campo[i]+"='"+valor[i]+"'";
				 conector=" and ";
						 
		    }
			sql+="  "+" order by idevento_juego";

			List<EventoJuego> eventojuegoFound =  getJdbcTemplate().query(sql, new BeanPropertyRowMapper<EventoJuego>(EventoJuego.class));

        	return eventojuegoFound;
        	
    } catch (Exception e) {
            System.out.println(e.getMessage());
            e.printStackTrace();
    }
	return new ArrayList<EventoJuego>();
	}

public List<EventoJuego> listEventoJuego(String idevento) {
	
	return listEventoJuego(new String[]{"idevento"},new String[]{idevento});
}

public EventoJuego getEventoJuego(String idevento_juego) {
	List<EventoJuego> eventojuego=listEventoJuego(new String[]{"idevento_juego"},new String[]{idevento_juego});
	if(eventojuego.size()>0)
		return eventojuego.get(0);
	return null;
}

public boolean cancelaJuego(String idevento_juego) {
	try {
		String sql = "UPDATE evento_juego set estado=0 where idevento_juego='"+idevento_juego+"' ";
         getJdbcTemplate().update(sql);
         
        return true;
	}catch(Exception e){
		e.printStackTrace();

	}

	return false;
}


public boolean cierraJuego(String idevento_juego) {
	try {
		String sql = "UPDATE evento_juego set estado=2 where idevento_juego='"+idevento_juego+"' ";
         getJdbcTemplate().update(sql);
         
        return true;
	}catch(Exception e){
		e.printStackTrace();

	}
	return false;
}

}
